Interpolation circuitry is commonly employed in incremental and absolute digital motion encoding systems, where the interpolation circuitry is configured to generate digital pulses having higher frequencies than base sinusoidal analog signals input to the circuitry. As the interpolation factor of the circuitry increases, the accuracy of the interpolation circuitry becomes ever more critical since the output provided by such circuitry ultimately determines the accuracy of the encoding system. Unfortunately, due to the architecture of most interpolation circuitry—which typically relies on a large number of comparators—the outputs provided by interpolation circuitry tend to be noisy and contain undesired noise spikes arising from excessive switching in the comparators. As a result, the comparators employed in interpolation circuitry for motion encoders typically employ a significant amount of hysteresis to provide immunity from noise spikes. Such hysteresis itself becomes a source of inaccuracy for the interpolation circuitry, however, especially at high interpolation factors.
Referring to FIG. 1, there is shown an optical encoder system 10 of the prior art comprising light emitter 20 (typically an LED), code wheel or strip 30 having apertures 31a-31f disposed therein, and light detector 40 comprising photodiodes 41a (A) and 41b (A\). In optical encoder 10, collimated light beam 22 emitted by light emitter 20 projects light onto code wheel 60. Collimated light beam 22 is interrupted by masked or optically non-transparent portions disposed between apertures 31a-31f as code wheel 60 rotates in first direction 110 or in second direction 112. (Note that code wheel 60 rotates substantially in a plane defined approximately by collimated light beam 22 as it is projected from light emitter 20 towards light detector 40.) Portions 50a and 50b of collimated light beam 22 project through apertures 31e and 31d onto light detector 40 and sweep across photodiodes 41b (A\) an 41a (A) as code wheel 60 rotates in direction 110 or 112 in the plane. As code wheel 60 moves in direction 110 or 112, the light patterns projected onto first vertical portion 70 of light detector 40 by beam portions 50a and 50b change, and the output signals provided by photodiodes 41a and 41b change correspondingly. These output signals are generally employed to generate a pair of quasi-triangular signals (as shown, for example, in FIG. 2), which are then used to determine any one or more of the position, speed and direction of code disk 60.
Referring now to FIG. 2, there are shown “triangular” signals A and A′, which are compared to one another and employed to generate pulse 109 using circuitry and methods well known to those skilled in the art of optical encoders. Typically, another set of photodetectors B and B\ is also provided, where photodetectors B and B\ are positioned 90 degrees out of phase with respect to photodetectors A and A\, and which are employed to generate another pulse (not shown in FIG. 3). Pulses for photodetectors A and A\, and B and B\, are generated which are 90 degrees out of phase with respect to one another. As shown in FIG. 2, “triangular” signals A and A′, which for purposes of subsequent interpolation processing would optimally be linear or straight between maximum and minimum portions thereof, exhibit curved portions near the tops and bottoms thereof. These curved portions are due to undesirable capacitance effects, and complicate considerably any subsequent attempts at interpolation.
In an encoder of the type shown in FIG. 1, the spatial resolution of device 10 is determined according to the specific requirements at hand. More particularly, the distances or spacing between adjoining photodetectors A and A\ (41a and 41b, respectively), is typically determined according to the particular requirements of a given customer or end user. Time and effort are required to implement such requirements, especially in respect of wafer fabrication when an unusual or new spatial resolution for device 10 is required.
One technique employed in the prior art to change or adjust the spatial resolution provided by device 10 is to employ one or more reticles disposed between light emitter 20 and light detector 40. FIG. 3 shows one such arrangement, where reticle strip 60 has reticles 61 and 62 disposed therein. Reticles 61 and 62 are configured to interfere with the light beams impinging thereon, and to modify them so that the pattern of light projected on light detectors 40 is changed. Reticles 61 and 62 are specifically configured to provide the degree, amount and type of spatial resolution desired of encoder 10.
FIG. 4 shows one example of output signals provided by two different sets of reticles having different sizes. The large semi-sinusoidal output signals to the left of FIG. 4 are generated using large reticles 61-65 (i.e., large solid line rectangles), while the small semi-sinusoidal signals on the right of FIG. 4 are generated using small reticles (i.e., small dashed line rectangles disposed inside large reticles 61 through 65). It will be seen that the smaller reticles provide output signals having increased spatial resolution than those generated using the larger reticles. Reticle sizes can be changed according to the spatial resolution requirements for encoder 10, which is preferably configured to have photodiodes of a common size. The spatial resolution of encoder 10 is then determined by changing reticle size so long as reticle size is smaller then the photodiodes being employed. One disadvantage of the use of reticles in optical encoders is that additional high-precision optical components are required, and the cost of the resulting encoder increases accordingly.
Continuing to refer to FIG. 4, it will be seen that the large and small sinusoidal signals are not linear, and thus are difficult to use as a basis for interpolation in processing circuitry such as an integrated circuit (“IC”) or digital signal processing (“DSP”) IC.
One commonly-employed scheme in the prior art for providing increased resolution interpolated output signals from an optical encoder system is to systematically reducing the amplitude of the input signals. These reduced amplitude signals are then compared to reference signals through XOR operations to generate interpolated bits. See, for example, U.S. Pat. No. 6,355,927 to Snyder entitled “Interpolation Methods and Circuits for Increasing the Resolution of Optical Encoders” One disadvantage of such an approach is that the number of comparators must be doubled for every additional bit that is to be interpolated. For example, at 2× interpolation (21), a minimum of 8 comparators are required, and the number of comparators required beyond that doubles for every 2n interpolation that is desired. Thus, in the case where 32× (25) interpolation is required, 128 comparators will be required. The use of so many comparators increases design and IC costs.
What is needed is interpolation circuitry for motion encoding systems where the spatial resolution of an encoder may be adjusted or manipulated without the use of additional optical components, reticle strips or reticles, and where spatial resolution adjustments may be effected quickly and accurately without unduly increasing cost. What is also needed is interpolation circuitry for motion encoding systems having improved immunity from noise, that is capable of providing high interpolation factors, that can provide highly accurate interpolation output signals, and that does not unduly increase circuit complexity, design and/or cost.